package com.ruoyi.patrol.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 巡检工单信息对象 pt_work_patrol
 *
 * @author linan
 * @date 2024-02-03
 */
@Data
public class PtWorkPatrol extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 设备id */
//    @Excel(name = "设备id")
    private Long equipmentId;

    /** 项目id */
//    @Excel(name = "项目id")
    private Long projectId;

    /** 片区id */
//    @Excel(name = "片区id")
    private Long areaId;

    /** 定位 */
    @Excel(name = "定位")
    private String position;

    /** 截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 业主负责人 */
    @Excel(name = "业主负责人")
    private String owner;

    /** 业主单位 */
    @Excel(name = "业主单位")
    private String ownerUnit;

    /** 单位地址 */
    @Excel(name = "单位地址")
    private String unitArea;

    /** 业主电话 */
    @Excel(name = "业主电话")
    private String ownerPhone;

    /** 合同时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractDate;

    /** 合同到期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractEndDate;

    /** 项目经理 */
    @Excel(name = "项目经理")
    private String projectManager;

    /** 项目经理电话 */
    @Excel(name = "项目经理电话")
    private String projectManagerPhone;

    /** 维修人员 */
    @Excel(name = "维修人员")
    private String repairPerson;

    /** 维修人员电话 */
    @Excel(name = "维修人员电话")
    private String repairPersonPhone;

    /** 报修视频 */
//    @Excel(name = "报修视频")
    private String repairVideo;

    /** 报修图片 */
//    @Excel(name = "报修图片")
    private String repairImg;

    /** 保修电话 */
    @Excel(name = "保修电话")
    private String repairPhone;

    /** 保修备注 */
    @Excel(name = "保修备注")
    private String repairRemark;

    /** 工单状态：0-待处理；1-已处理 */
    @Excel(name = "工单状态")
    private Integer status;

    /** 是否超时：1-超时 */
    @Excel(name = "是否超时")
    private Integer status1;

    /** 是否退单：0-申请；1-拒绝；2-同意 */
    @Excel(name = "是否退单")
    private Integer status2;

    /** 是否延期：0-申请；1-拒绝；2-同意 */
    @Excel(name = "是否延期")
    private Integer status3;

    /** 是否转单：0-申请；1-拒绝；2-同意 */
    @Excel(name = "是否转单")
    private Integer status4;

    /** 备注标签：0-初始化；1-超时；2-申请退单；3-已退单；4-拒绝退单；5-申请延期；6-已延期；7-拒绝延期；8-申请转单；9-以转单；10-拒绝转单；11-正常 */
    @Excel(name = "备注标签")
    private Integer reStatus;

    /** 版本 */
    @Excel(name = "版本")
    private Long version;

    @Excel(name = "数据来源")
    private String source;

    @Excel(name = "状态记录")
    private String statusText;

    private Long deptId;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("equipmentId", getEquipmentId())
            .append("projectId", getProjectId())
            .append("areaId", getAreaId())
            .append("position", getPosition())
            .append("endDate", getEndDate())
            .append("owner", getOwner())
            .append("ownerUnit", getOwnerUnit())
            .append("unitArea", getUnitArea())
            .append("ownerPhone", getOwnerPhone())
            .append("contractDate", getContractDate())
            .append("contractEndDate", getContractEndDate())
            .append("projectManager", getProjectManager())
            .append("projectManagerPhone", getProjectManagerPhone())
            .append("repairPerson", getRepairPerson())
            .append("repairPersonPhone", getRepairPersonPhone())
            .append("remark", getRemark())
            .append("repairVideo", getRepairVideo())
            .append("repairImg", getRepairImg())
            .append("repairPhone", getRepairPhone())
            .append("repairRemark", getRepairRemark())
            .append("status", getStatus())
            .append("reStatus", getReStatus())
            .append("version", getVersion())
            .toString();
    }
}
